home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / mips / include / asm / bugs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  882 b   |  54 lines

  1. /*
  2.  * This is included by init/main.c to check for architecture-dependent bugs.
  3.  *
  4.  * Copyright (C) 2007  Maciej W. Rozycki
  5.  *
  6.  * Needs:
  7.  *    void check_bugs(void);
  8.  */
  9. #ifndef _ASM_BUGS_H
  10. #define _ASM_BUGS_H
  11.  
  12. #include <linux/bug.h>
  13. #include <linux/delay.h>
  14.  
  15. #include <asm/cpu.h>
  16. #include <asm/cpu-info.h>
  17.  
  18. extern int daddiu_bug;
  19.  
  20. extern void check_bugs64_early(void);
  21.  
  22. extern void check_bugs32(void);
  23. extern void check_bugs64(void);
  24.  
  25. static inline void check_bugs_early(void)
  26. {
  27. #ifdef CONFIG_64BIT
  28.     check_bugs64_early();
  29. #endif
  30. }
  31.  
  32. static inline void check_bugs(void)
  33. {
  34.     unsigned int cpu = smp_processor_id();
  35.  
  36.     cpu_data[cpu].udelay_val = loops_per_jiffy;
  37.     check_bugs32();
  38. #ifdef CONFIG_64BIT
  39.     check_bugs64();
  40. #endif
  41. }
  42.  
  43. static inline int r4k_daddiu_bug(void)
  44. {
  45. #ifdef CONFIG_64BIT
  46.     WARN_ON(daddiu_bug < 0);
  47.     return daddiu_bug != 0;
  48. #else
  49.     return 0;
  50. #endif
  51. }
  52.  
  53. #endif /* _ASM_BUGS_H */
  54.